package com.example.d6_singleInstance;

/**
 * 懒汉式单例模式 - 在获取对象的时候在去创建对象
 * 写法：
 * 1.私有化构造器
 * 2.定义一个一个类变量存储对象
 * 3.提供一个类方法,保证返回的是同一个对象
 */
public class B {
    // 2.定义一个类变量,用于存储这个类的一个对象
    private static B b;

    // 1.私有化构造器
    private B() {

    }

    // 3.提供一个类方法,保证第一次调用的时候才创建一个对象,后面在调用返回的是同一个对象
    public static B getInstance() {
        if (b == null) {
            // 如果b等于null,说明是第一次创建对象
            b = new B();
        }
        // 后面在来调用的时候b是不为null,直接返回b,这样确保了返回的都是同一个对象
        return b;
    }
}
